/**
 * 
 */
package soa.security.dao;

import java.util.List;
import java.util.Map;

import javax.naming.Name;

import org.springframework.ldap.query.SearchScope;

import soa.security.domain.Organization;

/**
 * @author Cre.Gu
 *
 */
public interface OrganizationDao extends SpringLdapDao<Organization> {
	boolean exist(String organizationId);

	Organization findByPrimaryKey(String organizationId);

	List<Organization> allSubOrganizations(Organization or,
			Map<String, Object> parameters);

	String backupData(String ldapBase);

	Name findDnById(String id);

	List<Organization> allOrganizations(String baseDn, SearchScope searchScope,
			Map<String, Object> parameters);

	public List<String> allAttrName(Name dn, String attrName);
	
	public List<Organization> existCode(String code);
	
	public List<Organization> existOrganizationCode(String organizationCode);
}
